CHAPTER 1 - Introduction 01.01 Product Description 01.02 Using This Manual 01.03 System Requirements 01.01 Product Description Soft-ICE is a software debugging tool that provides hardware-level debugging capabilities to PCDOS and MSDOS debuggers. Soft-ICE uses 80386 protected mode to run DOS in a virtual machine. This gives Soft-ICE complete control of the DOS environment. Soft-ICE uses 80386 protected mode features, such as paging, I/O privilege level, and break point registers, to add hardware-level break points your existing DOS debugger. Soft-ICE was designed with three goals in mind: * To utilize the 80386 virtual machine capability to debugging features that are impossible or prohibitively slow with software-only debuggers (e.g., real time hardware-level break points, memory protection, breaking out of hung programs, etc.). * To work with existing debuggers. We wanted to provide a tool that worked with existing tools. We designed Soft-ICE in such a way that you don't have to learn a new debugger to get powerful hardware debugging capabilities. * To be a user-friendly program with a window that pops up instantly and does not get in the way. All of the Soft-ICE commands were designed to fit in a small window so that information on the screen behind Soft-ICE could still be viewed. Dynamic on-line help assists users who only use Soft-ICE occasionally. The Soft-ICE program features: * real time break points on memory reads/writes, port reads/writes, memory ranges, and interrupts * back trace history ranges * symbolic and source level debugging * an environment that works with existing debuggers * full EMM 4.0 support * backfilling to raise base memory past 640K for monochrome systems * a window that can pop up at any time * the ability to break out by keystroke even if interrupts are disabled * debugger code that is isolated by 80386 protected mode. This prevents an errant program from modifying or destroying Soft-ICE; even if DOS clobbered, Soft-ICE will still work * the ability to configure Soft-ICE to use no memory in the lower 640K if the system has more than 640K * user-friendly dynamic help * the ability to be used as a stand-alone debugger. This ability is useful if you are debugging loadable device drivers, interrupt handlers, or boot sequences where traditional debuggers can't go, if your debugger suffers from re-entrancy problems * a soft boot capability that allows debugging with non-DOS operating systems or self-booting programs * a simple installation, with no DIP switches to set no I/O ports taken up, and no memory address space conflicts NOTE : Soft-ICE will work with real address mode programs only. It will not work with programs that use 80286 or 80386 protected mode instructions. 01.02 Using This Manual The Soft-ICE manual is divided into four main sections: * Learning Soft-ICE (Section I) * Commands (Section II) * Support Features (Section lII) * Advanced Topics (Section IV) Soft-ICE can be used for most debugging problems after reading Section I, Learning Soft-ICE, and a little experimentation. Soft-ICE's user-friendly on-line help can be used to reference command descriptions and syntax. The Learning Soft-ICE section contains installation instructions, a description of the user interface, and a tutorial. The tutorial is designed to get you up and running quickly. The Commands section describes all of the Soft-ICE commands. The command descriptions are organized by functional group with an alphabetic index for reference. The Support Features section covers advanced loading options,